﻿using BCCommon;
using BCDto.TMS.MarketingCoupon.MarketingCouponUsing;
using BCEntity.TMS.MarketingCoupon.MarketingCouponUsing;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace BCService.TMS.MarketingCoupon.MarketingCouponUsing
{
    public interface IMarketingCouponUsingService
    {

        /// <summary>
        /// 获取分页
        /// </summary>
        /// <param name="marketingCouponTypeId">优惠券类型id</param>
        /// <param name="userId">用户id</param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        PageableList<MarketingCouponUsingDto> Query(
            long? marketingCouponTypeId, long? userId, int pageIndex, int pageSize);
        /// <summary>
        /// 获取使用记录详情
        /// </summary>
        /// <param name="marketingCouponUsingId">优惠券使用记录id</param>
        /// <returns></returns>
        MarketingCouponUsingDto GetSingle(long marketingCouponUsingId);
        /// <summary>
        /// 检查优惠券是否已使用
        /// </summary>
        /// <param name="marketingCouponId">优惠券Id</param>
        /// <returns></returns>
        bool Exists(long marketingCouponId);
    }
}
